// @Author EthanScriptOn
// @Desc
package processor

// ProcessorManager Processor Manager
type ProcessorManager interface {
	// CreateProcessor Create a processor
	CreateProcessor() error
	// RemoveProcessor Remove the processor
	RemoveProcessor(processorKey interface{}) error
	// GetProcessor Get the processor
	GetProcessor(processorKey interface{}) (Processor, error)
	// GetAppropriateProcessor Get a suitable processor for cases where the processor has multiple priorities
	GetAppropriateProcessor(processorKey interface{}) (Processor, error)
}
